約 5,157,435 件
https://w.atwiki.jp/maritime_ic/pages/6.html
データ、知識 ⇒<作成>⇒ 情報 有用なもの、意味のないもの 不足、過多:過不足なく 価値のあるもの、無価値なもの 精度の大小、誤りの可能性 知識:先人の見つけ出した(不変の)定理 勉強、経験を積んでこれらを身に付けてきた⇒理論的かつ実用的に理解すること (知識+自分のものとして把握する作用) 事実や状況を正しく認識する データ:基礎的な事実、資料 これを処理、解析、考察する⇒情報として(意味のあるもの)としてとらえる。(付加価値) 1、データを得る(行く行くは情報を得る)のに必要なことは? 役に立つものに直結するものが得たい それがいずれか分からない段階では、より多くのデータを確保したい 客観的なデータ⇒数値として定量的なもので表されているもののほうが良い 量:基準であり、大きさまたは距離、重さ、時間の長さ等 例:航海 航海計画⇒航海時間、航海距離(他の要素を考慮すると実は意味をもたない?)、速力または最大速力、使用燃料量 客観的なデータの取得方法:測る(計測)←計器を用いる 何らかの物理量を、基準をもとにしてその度合【尺度】:(単位)を調べる 何らかの物理量:時間を測る、長さ(距離)を測る、重さ(質量)を測る 単位:秒(sec)、メートル(m)、キログラム(kg)⇒ニュートン(N)の使用も有り 計器:時計等、ものさし等、バネ測り等
https://w.atwiki.jp/puyocess/pages/21.html
IPSシミュレータで記述できるぷよ譜の手数は、エディタにおいて指定できる範囲は1~16手に限られます。 しかしながら、その16手を超える、すなわち17手以上のぷよ譜シミュレータは、いわゆる裏技とはなりますが、製作が可能です。 16手だけでは全て記述できない、例えば飽和まで伸ばされた連鎖の手順なども、手数を増やせば、余すことなく記述することができます。 16手を超えるぷよ譜データの例 「ぷよ譜」でGoogle検索を掛けると、初代ぷよぷよ、あるいはぷよm@s関係で多数のページがヒットし、 その譜例には16手を超えるものが多い。例えば、 superpuyopuyohu @ ウィキ ぷよ譜で振り返るぷよm@s(ポータル) ぷよm@s part6 春香VS美希戦のぷよ譜でヘルファイアを考察してみる ・・・等々である。 URL構造(1) この種のデータを作るためには、まずぷよ譜シミュのURLの構造を知らなければなりません。 ぷよ譜エディタのURLは、「?」の記号の後にデータが記述され、 そのデータは初期地形を記述している部分と、ツモおよびその置き方の手順を記述している部分の2部分で構成されています。 例えば次の図は、ミスケンのぷよステーションに出てくるセカンド解説の図(初期配置および手順)の一つをぷよ譜シミュに起こしたものです(ツモにおける軸ぷよ子ぷよは順不同)。 http //ips.karou.jp/simu/pv.html?800801A01a0_Sq2u8qGgOsksGs6C 地形とツモ手順の間は、半角アンダーラインの記号( _ )で繋がれています。 すなわちこのURLの場合、「800801A01a0」が地形、_を挟んで「Sq2u8qGgOsksGs6C」がツモ手順を表していることになります。 このツモは8手分ですね。 試しに、この「Sq2u8qGgOsksGs6C」の部分をどんどんコピーペーストして後ろに貼り付けてしまいましょう。 この例では「Sq2u8qGgOsksGs6C」を3回コピーペーストしています。 http //ips.karou.jp/simu/pv.html?800801A01a0_Sq2u8qGgOsksGs6CSq2u8qGgOsksGs6CSq2u8qGgOsksGs6CSq2u8qGgOsksGs6C 最初の8手以外はカオスな置き方になっていますが、とりあえずそれはおいておいて、 この時点でシミュレータの手数が16手を既に超えているということ 最初の8手のツモおよび置き方がが9-16手、17-24、25-32手目にコピーされている ということが確認できるはずです。 16手を超えるぷよ譜データが、これで一つ出来た事になります。 後は「Edit」でツモや地形を編集し、「Simu」で置き方を指定して行けば、 好きな32手以内のシミュが作れるという訳です。 もちろん、コピーペーストを繰り返せば50手、100手と際限なくデータが増やせるかと思います。 極端な話、「TASさんの連鎖練習」のような巨大なぷよ譜も作成可能でしょう。 ただし、巨大なぷよ譜はそれだけ重くなります。 作者が手数を16手に限定したのも、この重さを考慮してのことです。(*1) 昨今はこのシミュレータが開発された当時とは時代もスペックも異なりますから、 そこそこ大きなデータでも普通に開くことができるかと思われますが、 それでも現実的なラインは百数十手あたりまででしょう。 それ以上はデータを分割したほうが良いかもしれません。 もっとも、そのような巨大なぷよ譜は少なくとも対人実戦ではまずあり得ませんが。 URL構造(2) (加筆予定) テンプレート ぷよ譜の枠内は全てお邪魔0で埋めています。 ページを開いた後、「ぷよ譜をクリア」ボタンを押してご利用下さい。 24手 32手 48手 64手 96手 128手
https://w.atwiki.jp/infodatabase/pages/8.html
@wikiにはいくつかの便利なプラグインがあります。 アーカイブ コメント ニュース 動画(Youtube) 編集履歴 関連ブログ これ以外のプラグインについては@wikiガイドをご覧ください = http //atwiki.jp/guide/
https://w.atwiki.jp/tohomusicdb/pages/296.html
天狗が見ている ~ Black Eyes 作品:東方文花帖 〜 Shoot the Bullet. シーン: データ BPM 拍子 再生時間 調性 使用楽器 コード進行 ZUN氏コメント 撮影曲2です。 怖いような可愛らしいような奇妙なノリを持たせました。 人を攫ったり喰ったりが当たり前の妖怪なのに、どこか陽気で人当たりも良さそうな所が、幻想の天狗のイメージ。 この曲には、その怖さと陽気さ、暢気さを混ぜた感じになっているかと思います。 (東方文花帖 Music Roomより) 解説 コメント この曲の話題なら何でもOK! 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/filansea/pages/17.html
ショタが置かれているシチュエーションで、好みなのは次の通り。 格闘系スポーツをしているショタ バレエや演劇で衣装として密着する衣装を着ているショタ ファンタジー世界のショタ(東洋西洋不問) 大別するとこの3つでしょうか。格闘系スポーツでは(全てに於いてプロアマ問わず)レスリング、ボクシング、総合格闘技、ムエタイ、キックボクシングなんかが私の範疇ですし、バレエや演劇を習ってたり、それを生業としている子なんかも範疇ですね。あとはファンタジー世界で(実際はショタ年齢ではないかもしれないが)ショタっぽく描かれているキャラが範疇だったりします。 勿論実際にそれらを実在世界で見たりというのも嫌いではないです。 ですけどあまり身体をオーバーに表現(ファンタジー世界等々でも本来あり得ない体のつくりになってるとか)されているものはあまり好きではないですね。やはり人物は人物なりの、動物は動物なりの描かれ方をしているものが自然で好きです。 もちろん、獣ショタも範疇だったりしますよ?(何
https://w.atwiki.jp/kuroganengage/pages/47.html
※2024/1時点で目指そうとしていること。実現できているかは一旦忘れて。 前提として、戦場サイズは12×12マスを斜め対角に使い、プレイヤー2人で遊ぶ指揮官2機のタッグ戦を想定。 ルールやデータにざっと目を通しても、「そのゲームがやらせようとしていること」って中々伝わらないと思う。ゲームが想定された通りに上手く回るようなデータをちゃんと作れているか分からないし、プレイヤーが何を考えながら遊ぶかだって予想しきれないからだ。 調整ミスで強過ぎる武器が生まれてしまったがゆえに、プレイヤーが「それをどう上手く活用するか」ばかり考えるようになってしまい、開発側(調整飯)がそれに振り回されるうちに元々のデザイン意図を忘れてしまう、というのは珍しくない話だと思う。 なので、どのような展開を意図しながらルールやデータをデザインしたのかを書き記しておく。これは今後調整を進めていく中で方針を見失わないための、作者自身に向けたメモでもある。 基本は「上手く前線を押し上げた方が勝つ」というゲーム 前に出てナンボ。オブジェクトはいわば目印であり、どれだけ前線を押し上げられているか(つまりは相手を圧せているか)を評価して勝利点に変換するルールとして採用している。(なのでコア凸ルールは極めて前向きに検討している) 各ユニットが複数点の体力を持つスカーミッシュ系のゲームにもかかわらず、攻撃を集中させればあっという間に撃破できてしまうくらいの火力過多のバランス。ユニットは絶えず爆ぜ続けるが、ゲーム全体を通してワチャワチャ感を維持。そのようなゲームを成立させるため、撃破されたユニットが再出撃できること基本ルールに盛り込んでいる。 射撃火力の集中 やや勇み気味に前に出てSMGを撃ち、リスクを蓄積させたところを後ろに控えたライフルが狙う。また、グレネードやミサイルが間接射撃でサポートする。これが射撃戦の基本。 可能ならマルチダメージも狙いたい。下準備に1〜2回の攻撃を要することで、リスクをより多く蓄積させてからダメージを確定させる。 集中させるまでもない射撃火力と、盾 オートカノンは命中さえすればリスク未蓄積の相手でも一撃でダメージを狙える重火砲。 一度の射撃で2回分のAPを要求するが、「リスクが溜まってきた!まずい隠れなきゃ!」の間を許さない瞬間火力。 ただし単発にパワーを注ぐとなれば外した時は痛い。盾を持つユニットが防御姿勢を取れば攻撃は外れやすくなり、せっかくのオートカノンも敵に向けづらくなってしまう。 とはいえ盾はAPを消費して構えなければ意味がない。豆鉄砲相手にいちいち盾を構えていては身動きできず、盾がただのお荷物になってくる。 そうして、オートカノン→盾持ち→通常射撃武器のメタゲームが成立していく。 また、オートカノンはコストが重く、積むほどにユニット数を減らしてしまう。 ユニット数が減ればAPを稼げなくなるので、知将型の指揮官やAP稼ぎ用の低コスト随伴機とのバランスも重要。 命中、威力、貫通のバランス 射撃武器は役割を2つに分ける。 1.命中率や取り回しの良さを重視し、リスクの蓄積を担う武器。すなわち、SMGとグレネード。 2.攻撃力を重視し、ダメージを確定させることを目的とする武器。すなわち、ライフルとオートカノン。攻撃力(=威力+貫通力)のバランスとしては、やや貫通力を与えるように意識して、マルチダメージを狙いやすくしておく。 その他A、ミサイル。遠距離からの間接射撃にも対応するお助けマンだが、便利すぎては駄目。コストあたりの火力効率は低く設定する。 その他B、ショットガン。ほんとどうしようかコイツ。とりあえずはコストがかかる代わりに威力も出せる強化型SMGみたいな性能にしてある。『理論値ではSMG+白兵武器持ちの方がダメージ稼げるんだけど、「白兵武器と違って隣接してなくてもダメージを狙える」まで考慮した実戦値でショットガンがそれに追いつく。』ぐらいの強さにできれば上手くハマると思う。 迫る敵機。射撃による応戦と、敵の進行速度。 仮に同数のユニットを並べ、片方は前進、もう片方は射撃で応戦したとする。 2〜3AP分の射撃で1ダメージ。標準的な耐久力は3点。敵を1機撃破するのに6〜9APかかる計算。上手くマルチダメージを発生させられるか、距離や遮蔽の具合で変わるとはいえ、射撃だけの防戦はまず無理、という見込み。 そして殴り合いが始まる。白兵武器の攻撃力について。 白兵武器の基本は「一撃1ダメージ」。射撃攻撃のほぼ倍の効率でダメージを稼ぐ。隣接位置でないと振り回せない分、威力は高めに。 また、敵をプッシュする能力(パワーアタック)を利用することでオブジェクト確保のために陣取ってる敵を引き剥がすことができる。これは射撃武器には行えない動きである。 接近戦のメリット 白兵武器はわかりやすくパワーがあるし、敵に接近することで更にメリットを得られる。「オーバーキル」だ。(注 オーバーキルは射撃攻撃で敵を撃破したときにも宣言できるし、敵を撃破したのが自分自身である必要もない。あくまでも「白兵戦を意識してあらかじめ敵に近付いておけば、オーバーキルのチャンスを逃さず宣言しやすい」というだけの話。) オーバーキルを実行するためにはあらかじめ敵に近付いておく必要があるが、無料の追加移動を獲得しつつ勝利点を生み出せるという、意識的に強烈なルールとしてデザインしている。『突撃→敵を撃破→オーバーキル宣言で比較的安全な位置へと(倒した敵を肉盾にするかのように)移動』という流れが決まればきっと気持ち良い。 射撃攻撃と連携しておけば、あらかじめ体力を減らしておいた敵のトドメだけを担当することで、よりスピーディーな処刑人ムーブを決められるかもしれない。 ……には、当然リスクもある 突撃→オーバーキルまで決められたとする。するとほぼ間違いなく敵集団の目の前。つまり返り討ちに遭う可能性が生まれる。(そうならない位置、たとえば孤立した敵を上手く狩れれば大丈夫なのだが) すると、敵の攻撃でオーバーキルを中断させられ、そのまま反撃で撃破される。きっと突撃する頃には敵の応射で少し傷付いているだろうから、撃破されるのは普通よりも早いはず。そしてオーバーキル"される"。下手に敵陣に踏み込んでいれば助けてくれる味方の手が届かなくなってしまう。カモがネギ背負って自分から走ってきたようなモノであり、こっちが攻め込んだはずなのに、敵の反撃を警戒しなかったばかりに敵に勝利点を献上する結果に終わる。 と、ここまでが、『射撃→移動(突撃)→白兵→オーバーキル』からなる、クロガネンゲイジの想定する基本的な戦闘(メタ)サイクル。 随伴機を中心に戦えば、自然とこのサイクルにハマっていくと思う。 再出撃絡みの立ち回り クロガネンゲイジは基本ルールにて「撃破されたユニットの再出撃」をサポートしている。クールタイムこそ発生するが撃破=終了ではない。それを前提とした無謀な突撃要員なんかも作れる。(上述のとおり、それに対するカウンター機構はデザインしてある) 通常出撃は即座に行動可能。遠距離射撃機にとってはほぼデメリット無しだし、そうでない機体でも出撃さえしておけばAPを生成できる=前線で戦う味方を後押しできる。 特殊出撃は前線へと移動する時間を省ける代わりに、そのターンはAPを生成しない。 つまり自力では行動できないのだが、指揮官の命令を受けて行動することは問題ない。 たとえば『敵陣地側深く侵入した斥候機のそばに特殊出撃→命令アクションを活用して即座に(擬似的に)行動を開始』なんてことができる。 ほかにも『目前に敵が迫った味方の前に特殊出撃』して、敵の射線を防いだり(丸見えボーナス阻止)、突撃を阻む肉壁になれたりするかもしれない。 指揮官機 bAP生成量にボーナスがつき、攻撃範囲の成功範囲も広い。ゲームの要。 クロガネンゲイジは指揮官機=有人機、随伴機=無人機としている。ゆえに指揮官機は再出撃できない。そのため指揮官機が撃墜されるとAP生成量で大きく苦しむことになり、ゲーム終盤(あとは逃げ切るだけ)でもない限りほぼ負け確定みたいな話になる。 指揮官機と命令アクション 「〜命令」は指揮官機が実行可能な特殊アクションで、随伴機を即座に行動させることができる。(行動済みであっても、特殊出撃直後の行動できない状態であっても、命令を受ければ行動できる) これを利用して随伴機の実質的な連続行動を可能にすることで、攻撃力を瞬間的に爆増させたり、敵の応射が間に合わないほど速度で随伴機を移動させたりすることができる。 クロガネンゲイジは指揮官機を2つ用いたタッグ戦を推奨している。つまり、命令アクションも動員すれば「1ラウンド中に3回移動する高機動機(敵陣地に潜り込むまで一瞬)」が「手に持った白兵武器を連続で振るい」、「そのままオーバーキル移動で遮蔽を確保しつつ勝利点を稼ぐ」なんてこともできる。理論上はね。 なので、これらの要素をどう組み合わせどう暴れさせるか次第で、上述の基本戦闘サイクルに収まらないカオスな展開が起きればと思う。強すぎる動きが発見されればちゃんと対処を考えるのですぐに教えて欲しい。 勢力固有ルールとユニーク指揮官機 ここまでの要素は基本ルールと共通データで成立する。ここからが強烈な個性付けの時間である。 まず、クロガネンゲイジには3つの勢力を用意している。さらに各勢力には4人ずつ、それぞれ中々個性的にデザインできたと自負しているユニーク指揮官機達が居る。 コンダクターズ 随伴機の運用に長ける。上述の命令アクションを駆使した随伴機の酷使を最も上手くこなす勢力だろう。 最小限度の装備に留めて随伴機をデザインすることにより、そのユニットのクールタイムを実質0にできる、「ミニマムパッケージ」という勢力固有能力を持つ。たとえば「前に出てSMGをバラ撒くだけの雑魚」、これが撃破されても一回休みのペナルティを受けずに次のラウンドで普通に戦場に出てくる。ゾンビアタック推奨勢力と認識してもらえればよい。 動きが地味になりやすそうというか、どこまで行っても随伴機頼りになりがちなのがネックかもしれない。 ユニーク指揮官機には、前線を支えるラインマン、中距離からバフを撒く戦闘部隊長、自陣に引き篭もって随伴機の運用に全力を注ぐ徹底司令塔、そして様子のおかしい突撃鉄砲玉をご用意。 アンチェインド 上とは対照的に、強力な指揮官機が暴れ回ることを意識した勢力。 「外付けpAPタンク」と見做した随伴機から行動権を"ぶんどり"つつ行動を開始することにより、その指揮官機は自身のpAPを残したまま行動できる。つまりその後のターンで再行動ができる。 行動回数が多い=リスクが溜まっても移動して発散できる→持ち前の攻撃力を振り回すために前線に留まりたいという需要もサポート。まさに一石二鳥。ヒロイックな立ち回りを求めるなら一番適しているかも。 ただし、暴れ回るユニット数が限られる以上は敵も対応を集中させやすくなるし、連続行動を支えるためには随伴機がちゃんと指揮官機について来ないといけない。調整ミス一つで簡単にゲームをぶっ壊す可能性を持つので、性能調整は慎重に行いたい。 ユニーク指揮官機には、動けるゴリラ、ポテンシャルお化け、爆速で戦場を駆ける雑魚狩りの鬼、サポートに徹する防衛担当大臣をご用意。 ジ・オーダー ほか2勢力とはそもそもの毛色が異なるエリート勢力。 指揮官機/随伴機問わず強制適用される専用オプションにより、すべての機体はbAP生成量にボーナスがつき、反撃リアクションができるようになり、オブジェクト確保で優先権を獲得(相手も踏んでいようが「俺らのモノだから!」と主張)するようになる。 ただしその分1ユニットあたりのコストが嵩み、1機落とされたときのダメージも大きい。不足しがちなユニット数を連携で補いつつも、返り討ちに遭わない程度に敵陣に手を出して勝利点レースを妨害(そしてちゃっかり自分はブースト)する、偉そうなツラしつつも結構デリケートな立ち回りで戦う勢力。 ユニーク指揮官機には、近付く者すべてを拳で理解らせる剛腕統制官、手を出されたら倍返ししないと気が済まない脳筋要塞砲、タッグ相手の立ち回りをより悪質なモノに変質させる可能性を秘めたゲームチェンジャー、なんかいい感じに走り回って敵陣を引っ掻き回すトラブルメーカーをご用意。 と、こんなところで。
https://w.atwiki.jp/hitobanndetukutta/pages/24.html
説明 ①鋭い物に触れた対象を蝕む。 ②切断された部位の行動が不可能に成る。 ③場合によっては破傷風を起こす。 効果 ①対象に火傷が付与された後5回行動後30%で破傷風を起こす。 ②行動終了時流血によって体力に大ダメージが発生する。 ③欠損状態になる。 治療 ①薬草を使用する。 ②傷薬を使用する。 ③回復薬を使用する。 ④回復の魔術を使用する。 ③銭神に800万払う。
https://w.atwiki.jp/infodatabase/pages/2.html
メニュー ウェブストーリー
https://w.atwiki.jp/hitomoji/pages/25.html
作成が望まれているページの一覧です。 編集方法1 技/スロー 技/倍速 技/フラッシュ 技/ドミノ 技/ランダム 人文字ソフト
https://w.atwiki.jp/dragon109/pages/36.html
JDBCドライバの取得(MySQL用) ※2009.03.01時点でのバージョンは5.1.7 以下の順でダウンロードする。 ここにアクセス http //dev.mysql.com/downloads/ Drivers and ConnectorsのMySQL Connector/J — for connecting to MySQL from Javaの「MySQL Connector/J 5.1」 Source and Binaries (zip)の「Pick a mirror」 New Usersの「Proceed」 画面下部の「No thanks, just take me to the downloads!」 好きなミラーサイトの「HTTP」 適当な場所にダウンロード インストール ダウンロードしたファイルを解凍(mysql-connector-java-5.1.7.zip) 解凍したフォルダ内のmysql-connector-java-5.1.7-bin.jarをTomcatをインストールしたフォルダ\common\lib\にコピーする。 JDBCドライバのロード MySQLの場合は次のように行う。 try { Class.forName("com.mysql.jdbc.Driver").newInstance(); }catch (ClassNotFoundException e){ }catch (Exception e){ } URL http //localhost 8080/database/databasetest アプリケーション配置場所 c \servlet-sample\database\ web.xmlファイル c \servlet-sample\database\WEB-INF\web.xml コンテキストファイル C \Program Files\Apache Software Foundation\Tomcat 5.5\conf\Catalina\localhost\database.xml データベースへの接続と切断 データベースへの接続を確立するには「DriverManager」クラスで用意されている"getConnection"メソッドを使う。 引数には接続するデータベースを表すURLと接続用のユーザー名とパスワードを指定する。 MySQLの場合、URLの形式は次のようになる。 jdbc mysql //(サーバ名)/(データベース名) 例えばローカルホストにある「jdbctestdb」というデータベースに接続する場合は次のようになる。 jdbc mysql //localhost/jdbctestdb 実際の使用例 Connection conn = null; String url = "jdbc mysql //localhost/jdbctestdb"; String user = "testuser"; String password = "testpass"; try{ conn = DriverManager.getConnection(url, user, password); // データベースに対する処理 }catch (SQLException e){ } データベースの切断 いったん接続した後に切断する場合には、接続の際に取得したConnectionインターフェースのオブジェクトに対して、"close"メソッドを使う。 "close"メソッドは何か問題が発生した際に忘れずに行うためにも、次のように"finally"節を使って記述する。 Connection conn = null; String url = "jdbc mysql //localhost/jdbctestdb"; String user = "testuser"; String password = "testpass"; try{ conn = DriverManager.getConnection(url, user, password); // データベースに対する処理 }catch (SQLException e){ // 例外処理 }finally{ try{ if (conn != null){ conn.close(); } }catch (SQLException e){ // 例外処理 } } データベースの用意 データベース名は「jdbctestdb」とする。 MySQLへ接続する: mysql -u root -p パスワード応答 データベースを作成する: create database jdbctestdb; テスト用データベースに接続する: use jdbctestdb テーブルを作成する: create table kabukatable(code int, company varchar(32), primary key(code) ); ユーザの追加、権限設定: grant select,insert,update,delete on jdbctestdb.* to testuser @ localhost identified by testpass ; データを追加する: 下記参照 データを確認する: select * from kabukatable; データを追加する ※コマンドプロンプトからINSERTしようとした場合、「ERROR 1366 (HY000) Incorrect string value \x83r\x83b\x83N... for column com pany at row 1」というエラーが発生し追加できない。これはどうやらMySQLインストール時に文字コードをutf-8にしたからの模様。正しい対処かどうかはわからないが、以下のSETコマンドを実行することでINSERTができるようになる。別セッションでSELECTしたりする場合は、毎回このSETを実行しないと文字化けする。 SET character_set_client = sjis; SET character_set_connection = utf8; SET character_set_results = sjis; insert into kabukatable values (3048, ビックカメラ ), (4689, ヤフー ), (4755, RAKUTEN ), (9984, SoftBank ); データベース接続テスト URL http //localhost 8080/database/databasetest1 データの取得(SELECT) ステートメントを作成する Connection」インターフェースで定義されている"createStatement"メソッドを使う。 conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); 問い合わせの実行 「Statement」インターフェースで用意されている"executeQuery"メソッドを使う。 conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); String sql = "SELECT * FROM kabukatable"; ResultSet rs = stmt.executeQuery(sql); 結果の取得 カーソルを動かすには「ResultSet」インターフェースで定義されている"next"メソッドを使う。 conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); String sql = "SELECT * FROM kabukatable"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ /* 行からデータを取得 */ int code = rs.getInt("code"); String company = rs.getString("company"); } データ型毎の値取得メソッド一覧(一部) boolean getBoolean(String columnName) byte getByte(String columnName) Date getDate(String columnName) double getDouble(String columnName) int getInt(String columnName) long getLong(String columnName) Timestamp getTimestamp(String columnName) リソースの開放 使わなくなった「ResultSet」オブジェクトは"close"メソッドを使ってリソースを開放する。 また、「Statement」オブジェクトもに"close"メソッドを使ってリソースを開放する。 rs.close(); stmt.close(); URL http //localhost 8080/database/databasetest2 データの更新(UPDATE) 「Statement」インターフェースで用意されている"executeUpdate"メソッドを使う。 conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); String sql = "update kabukatable set company= 楽天(株) where code = 4755"; int num = stmt.executeUpdate(sql); URL http //localhost 8080/database/databasetest3 データの追加(INSERT) 「Statement」インターフェースで用意されている"executeUpdate"メソッドを使う。 conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); String sql = "insert into kabukatable (code, company) values (2491, バリューコマース )"; int num = stmt.executeUpdate(sql); データの削除(DELETE) 「Statement」インターフェースで用意されている"executeUpdate"メソッドを使う。 conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); String sql = "delete from kabukatable where id = 4755"; int num = stmt.executeUpdate(sql); prepareStatementの使用 「Connection」インターフェースで定義されている"prepareStatement"メソッドを使う。 パラメータとして後から指定する部分には、実際の値を記述する替わりに「?」を記述したSQL文を作成し、そのSQLを元にプリペアドステートメントを作成する。 String sql = "insert into kabukatable (code, company) values (?, ?)"; PreparedStatement pstmt = conn.prepareStatement(sql); この例では実際に挿入する値を記述箇所に「?」を使っている。2箇所使っているので、後からパラメータを2つ指定する必要がある。 パラメータへ値の設定 「PreparedStatement」インターフェースで用意されている「setInt」メソッドを使う。 パラメータの数だけメソッドを実行する。パラメータはSQL文中に記述された「?」を先頭から順番に1,2,3、・・・と順番に番号が割り当てられる。1番目のメソッドにはパラメータの番号を指定し、2番目の引数にパラメータに設定したい値を記述する。 String sql = "insert into kabukatable (code, company) values (?, ?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setInt(1, 4755); pstmt.setString(2, "楽天(株)"); パラメータに値を設定するには設定する値のデータ型毎に別々のメソッドが用意されてる。(一部) メソッド 説明 void setString(int parameterIndex, String x) String 値に設定します。 void setInt(int parameterIndex, int x) int 値に設定します。 void setLong(int parameterIndex, long x) long 値に設定します。 void setByte(int parameterIndex, byte x) バイト配列に設定します。 void setFloat(int parameterIndex, float x) float 値に設定します。 void setDouble(int parameterIndex, double x) double 値に設定します。 void setDate(int parameterIndex, Date x) java.sql.Date 値に設定します。 void setTime(int parameterIndex, Time x) java.sql.Time 値に設定します。 void setBoolean(int parameterIndex, boolean x) boolean 値に設定します。 void setTimestamp(int parameterIndex, Timestamp x) java.sql.Timestamp 値に設定します。 プリペアドステートメントの実行 「PreparedStatement」インターフェースにはSELECTなどのクエリーの結果を取得する場合に使う「executeQuery」メソッドと、INSERTやUPDATEなどの結果が返されない場合に使う「executeUpdate」メソッドがある。この使い方は「Statement」の場合と同じ。 conn = DriverManager.getConnection(url, user, password); String sql = "insert into kabukatable (code, company) values (?, ?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setInt(1, 4755); pstmt.setString(2, "楽天(株)"); int num = pstmt.executeUpdate(); パラメータのクリア プリペアドステートメントを複数回続けて実行する場合、値が変更されないパラメータについては改めて設定する必要はない。 次の例では1番目のパラメータは変更が無く、2回目に実行する時には2番目のパラメータだけを設定する。 String sql = "insert into kabukatable (basho, company) values (?, ?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setInt(1, "東証"); pstmt.setString(2, "ドコモ"); int num = pstmt.executeUpdate(); pstmt.setString(2, "KDDI"); num = pstmt.executeUpdate(); 現在設定されているパラメータを全て一度クリアしたい場合には「PreparedStatement」インターフェースで用意されている「clearParameters」メソッドを使う。 URL http //localhost 8080/database/databasetest6